
import numpy as np

def generate_int_data(rows, cols, low=1, high=10000):
    """
    功能：
        生成用于优化的随机矩阵，元素为整数
    参数：
        rows:行数
        cols:列数
        low:元素最小值
        high:元素最大值

    返回：
        data：生成的矩阵
        shape:矩阵的形状参数
    """
    data = np.random.randint(low, high, size=(rows, cols))
    concav = np.random.randint(1, rows)  # 随机生成concav
    data[concav:, -1] = 0
    shape = (rows, cols, concav)
    return (data, shape)


def generate_double_data(rows, cols, high=10000):
    """
    功能：
        生成用于优化的随机矩阵，元素为浮点数
    参数：
        rows:行数
        cols:列数
        high:元素最大值

    返回：
        data：生成的矩阵
        shape:矩阵的形状参数
    """
    data = np.random.random(size=(rows, cols)) * high
    concav = np.random.randint(1, rows)  # 随机生成concav
    data[concav:, -1] = 0
    shape = (rows, cols, concav)
    return (data, shape)

